package com.kingyun.gpsinspection.purificationservice.dao.mapper.iam.adm;


import com.kingyun.gpsinspection.purificationservice.facade.model.BootstrapSearchBean;
import com.kingyun.gpsinspection.purificationservice.facade.model.iam.adm.VacationApply;

import java.util.List;
import java.util.Map;

public interface VacationApplyMapper {
    /**
     * 删除请假申请
     *
     * @param vacationApplyId 请假id 数组
     * @return
     */
    int deleteByPrimaryKey(String[] vacationApplyId);

    /**
     * 新增请假申请
     *
     * @param record 请假实体
     * @return
     */
    int insertSelective(VacationApply record);

    /**
     * 根据id查询
     *
     * @param map
     * @return
     */
    VacationApply selectByPrimaryKey(Map<String, Object> map);

    /**
     * 更新请假申请
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(VacationApply record);

    /**
     * 查询申请请假列表
     *
     * @param bootstrapSearchBean
     * @return
     */
    List<VacationApply> queryList(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 总数量
     *
     * @param vacationApply
     * @return
     */
    Integer queryCount(VacationApply vacationApply);

    /**
     * 代办
     *
     * @param bootstrapSearchBean
     * @return
     */
    List<Object> searchByPIId(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 代办总条数
     *
     * @param bootstrapSearchBean
     * @return
     */
    int totalCountByPIId(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 查询已审批列表
     *
     * @param vacationApply
     * @return
     */
    List<VacationApply> queryProcessedList(VacationApply vacationApply);

    /**
     * 查询已审批列表总数量
     *
     * @param vacationApply
     * @return
     */
    Integer queryProcessedCount(VacationApply vacationApply);

    /**
     * 查询待我审批的请假总数
     */
    Integer queryToDoVacationCount(VacationApply vacationApply);

    /**
     * 查询待我审批的请假列表
     */
    List<VacationApply> queryToDoVacationList(VacationApply vacationApply);
}